/* tslint:disable */
/* eslint-disable */
/**
 * Deepfence ThreatMapper
 * Deepfence Runtime API provides programmatic control over Deepfence microservice securing your container, kubernetes and cloud deployments. The API abstracts away underlying infrastructure details like cloud provider,  container distros, container orchestrator and type of deployment. This is one uniform API to manage and control security alerts, policies and response to alerts for microservices running anywhere i.e. managed pure greenfield container deployments or a mix of containers, VMs and serverless paradigms like AWS Fargate.
 *
 * The version of the OpenAPI document: v2.5.3
 * Contact: community@deepfence.io
 *
 * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * https://openapi-generator.tech
 * Do not edit the class manually.
 */


import * as runtime from '../runtime';
import type {
  ApiDocsBadRequestResponse,
  ApiDocsFailureResponse,
  ModelCloudCompliance,
  ModelCloudNodeAccountInfo,
  ModelCloudResource,
  ModelCompliance,
  ModelComplianceRule,
  ModelContainer,
  ModelContainerImage,
  ModelFiltersReq,
  ModelFiltersResult,
  ModelHost,
  ModelKubernetesCluster,
  ModelMalware,
  ModelMalwareRule,
  ModelPod,
  ModelRegistryAccount,
  ModelScanInfo,
  ModelSecret,
  ModelSecretRule,
  ModelVulnerability,
  ModelVulnerabilityRule,
  SearchNodeCountResp,
  SearchSearchCountResp,
  SearchSearchNodeReq,
  SearchSearchScanReq,
} from '../models';
import {
    ApiDocsBadRequestResponseFromJSON,
    ApiDocsBadRequestResponseToJSON,
    ApiDocsFailureResponseFromJSON,
    ApiDocsFailureResponseToJSON,
    ModelCloudComplianceFromJSON,
    ModelCloudComplianceToJSON,
    ModelCloudNodeAccountInfoFromJSON,
    ModelCloudNodeAccountInfoToJSON,
    ModelCloudResourceFromJSON,
    ModelCloudResourceToJSON,
    ModelComplianceFromJSON,
    ModelComplianceToJSON,
    ModelComplianceRuleFromJSON,
    ModelComplianceRuleToJSON,
    ModelContainerFromJSON,
    ModelContainerToJSON,
    ModelContainerImageFromJSON,
    ModelContainerImageToJSON,
    ModelFiltersReqFromJSON,
    ModelFiltersReqToJSON,
    ModelFiltersResultFromJSON,
    ModelFiltersResultToJSON,
    ModelHostFromJSON,
    ModelHostToJSON,
    ModelKubernetesClusterFromJSON,
    ModelKubernetesClusterToJSON,
    ModelMalwareFromJSON,
    ModelMalwareToJSON,
    ModelMalwareRuleFromJSON,
    ModelMalwareRuleToJSON,
    ModelPodFromJSON,
    ModelPodToJSON,
    ModelRegistryAccountFromJSON,
    ModelRegistryAccountToJSON,
    ModelScanInfoFromJSON,
    ModelScanInfoToJSON,
    ModelSecretFromJSON,
    ModelSecretToJSON,
    ModelSecretRuleFromJSON,
    ModelSecretRuleToJSON,
    ModelVulnerabilityFromJSON,
    ModelVulnerabilityToJSON,
    ModelVulnerabilityRuleFromJSON,
    ModelVulnerabilityRuleToJSON,
    SearchNodeCountRespFromJSON,
    SearchNodeCountRespToJSON,
    SearchSearchCountRespFromJSON,
    SearchSearchCountRespToJSON,
    SearchSearchNodeReqFromJSON,
    SearchSearchNodeReqToJSON,
    SearchSearchScanReqFromJSON,
    SearchSearchScanReqToJSON,
} from '../models';

export interface CountCloudAccountsRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface CountCloudComplianceScansRequest {
    searchSearchScanReq?: SearchSearchScanReq;
}

export interface CountCloudCompliancesRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface CountCloudResourcesRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface CountComplianceRulesRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface CountComplianceScansRequest {
    searchSearchScanReq?: SearchSearchScanReq;
}

export interface CountCompliancesRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface CountContainerImagesRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface CountContainersRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface CountHostsRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface CountKubernetesClustersRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface CountMalwareRulesRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface CountMalwareScansRequest {
    searchSearchScanReq?: SearchSearchScanReq;
}

export interface CountMalwaresRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface CountPodsRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface CountRegistryAccountsRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface CountSecretRulesRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface CountSecretsRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface CountSecretsScansRequest {
    searchSearchScanReq?: SearchSearchScanReq;
}

export interface CountVulnerabilitiesRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface CountVulnerabilityRulesRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface CountVulnerabilityScansRequest {
    searchSearchScanReq?: SearchSearchScanReq;
}

export interface GetCloudComplianceFiltersRequest {
    modelFiltersReq?: ModelFiltersReq;
}

export interface GetComplianceFiltersRequest {
    modelFiltersReq?: ModelFiltersReq;
}

export interface SearchCloudAccountsRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface SearchCloudComplianceScansRequest {
    searchSearchScanReq?: SearchSearchScanReq;
}

export interface SearchCloudCompliancesRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface SearchCloudResourcesRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface SearchComplianceRulesRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface SearchComplianceScansRequest {
    searchSearchScanReq?: SearchSearchScanReq;
}

export interface SearchCompliancesRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface SearchContainerImagesRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface SearchContainersRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface SearchHostsRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface SearchKubernetesClustersRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface SearchMalwareRulesRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface SearchMalwareScansRequest {
    searchSearchScanReq?: SearchSearchScanReq;
}

export interface SearchMalwaresRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface SearchPodsRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface SearchRegistryAccountsRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface SearchSecretRulesRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface SearchSecretsRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface SearchSecretsScansRequest {
    searchSearchScanReq?: SearchSearchScanReq;
}

export interface SearchVulnerabilitiesRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface SearchVulnerabilityRulesRequest {
    searchSearchNodeReq?: SearchSearchNodeReq;
}

export interface SearchVulnerabilityScansRequest {
    searchSearchScanReq?: SearchSearchScanReq;
}

/**
 * SearchApi - interface
 * 
 * @export
 * @interface SearchApiInterface
 */
export interface SearchApiInterface {
    /**
     * Search across all the data associated with cloud nodes
     * @summary Count Cloud Nodes
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countCloudAccountsRaw(requestParameters: CountCloudAccountsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Search across all the data associated with cloud nodes
     * Count Cloud Nodes
     */
    countCloudAccounts(requestParameters: CountCloudAccountsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Count across all the data associated with cloud-compliance scans
     * @summary Count Cloud Compliance Scan results
     * @param {SearchSearchScanReq} [searchSearchScanReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countCloudComplianceScansRaw(requestParameters: CountCloudComplianceScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Count across all the data associated with cloud-compliance scans
     * Count Cloud Compliance Scan results
     */
    countCloudComplianceScans(requestParameters: CountCloudComplianceScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Count across all the data ssociated with cloud compliances
     * @summary Count Cloud compliances
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countCloudCompliancesRaw(requestParameters: CountCloudCompliancesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Count across all the data ssociated with cloud compliances
     * Count Cloud compliances
     */
    countCloudCompliances(requestParameters: CountCloudCompliancesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Count across all the data ssociated with cloud resources
     * @summary Count Cloud resources
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countCloudResourcesRaw(requestParameters: CountCloudResourcesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Count across all the data ssociated with cloud resources
     * Count Cloud resources
     */
    countCloudResources(requestParameters: CountCloudResourcesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Count across all the data associated with compliance rules
     * @summary Count Compliance Rules
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countComplianceRulesRaw(requestParameters: CountComplianceRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Count across all the data associated with compliance rules
     * Count Compliance Rules
     */
    countComplianceRules(requestParameters: CountComplianceRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Count across all the data associated with compliance scans
     * @summary Count Compliance Scan results
     * @param {SearchSearchScanReq} [searchSearchScanReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countComplianceScansRaw(requestParameters: CountComplianceScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Count across all the data associated with compliance scans
     * Count Compliance Scan results
     */
    countComplianceScans(requestParameters: CountComplianceScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Count across all the data associated with compliances
     * @summary Count Compliances
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countCompliancesRaw(requestParameters: CountCompliancesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Count across all the data associated with compliances
     * Count Compliances
     */
    countCompliances(requestParameters: CountCompliancesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Count across all the data associated with container images
     * @summary Count Container images
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countContainerImagesRaw(requestParameters: CountContainerImagesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Count across all the data associated with container images
     * Count Container images
     */
    countContainerImages(requestParameters: CountContainerImagesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Count across all the data associated with containers
     * @summary Count Containers data
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countContainersRaw(requestParameters: CountContainersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Count across all the data associated with containers
     * Count Containers data
     */
    countContainers(requestParameters: CountContainersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Count across all the data associated with hosts
     * @summary Count hosts
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countHostsRaw(requestParameters: CountHostsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Count across all the data associated with hosts
     * Count hosts
     */
    countHosts(requestParameters: CountHostsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Count across all the data ssociated with kubernetes clusters
     * @summary Count Kubernetes clusters
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countKubernetesClustersRaw(requestParameters: CountKubernetesClustersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Count across all the data ssociated with kubernetes clusters
     * Count Kubernetes clusters
     */
    countKubernetesClusters(requestParameters: CountKubernetesClustersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Count across all the data associated with malware rules
     * @summary Count Malware Rules
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countMalwareRulesRaw(requestParameters: CountMalwareRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Count across all the data associated with malware rules
     * Count Malware Rules
     */
    countMalwareRules(requestParameters: CountMalwareRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Count across all the data associated with malware scans
     * @summary Count Malware Scan results
     * @param {SearchSearchScanReq} [searchSearchScanReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countMalwareScansRaw(requestParameters: CountMalwareScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Count across all the data associated with malware scans
     * Count Malware Scan results
     */
    countMalwareScans(requestParameters: CountMalwareScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Count across all the data associated with malwares
     * @summary Count Malwares
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countMalwaresRaw(requestParameters: CountMalwaresRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Count across all the data associated with malwares
     * Count Malwares
     */
    countMalwares(requestParameters: CountMalwaresRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Count hosts, containers, pods, k8s clusters, images
     * @summary Count nodes
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countNodesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchNodeCountResp>>;

    /**
     * Count hosts, containers, pods, k8s clusters, images
     * Count nodes
     */
    countNodes(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchNodeCountResp>;

    /**
     * Count across all the data associated with pods
     * @summary Count Pods
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countPodsRaw(requestParameters: CountPodsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Count across all the data associated with pods
     * Count Pods
     */
    countPods(requestParameters: CountPodsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Search across all the data associated with registry account
     * @summary Count Registry Accounts
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countRegistryAccountsRaw(requestParameters: CountRegistryAccountsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Search across all the data associated with registry account
     * Count Registry Accounts
     */
    countRegistryAccounts(requestParameters: CountRegistryAccountsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Count across all the data associated with secret rules
     * @summary Count Secret Rules
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countSecretRulesRaw(requestParameters: CountSecretRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Count across all the data associated with secret rules
     * Count Secret Rules
     */
    countSecretRules(requestParameters: CountSecretRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Count across all the data associated with secrets
     * @summary Count Secrets
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countSecretsRaw(requestParameters: CountSecretsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Count across all the data associated with secrets
     * Count Secrets
     */
    countSecrets(requestParameters: CountSecretsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Count across all the data associated with secret scans
     * @summary Count Secret Scan results
     * @param {SearchSearchScanReq} [searchSearchScanReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countSecretsScansRaw(requestParameters: CountSecretsScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Count across all the data associated with secret scans
     * Count Secret Scan results
     */
    countSecretsScans(requestParameters: CountSecretsScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Search across all the data associated with vulnerabilities
     * @summary Count Vulnerabilities
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countVulnerabilitiesRaw(requestParameters: CountVulnerabilitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Search across all the data associated with vulnerabilities
     * Count Vulnerabilities
     */
    countVulnerabilities(requestParameters: CountVulnerabilitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Count across all the data associated with vulnerability rules
     * @summary Count Vulnerability Rules
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countVulnerabilityRulesRaw(requestParameters: CountVulnerabilityRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Count across all the data associated with vulnerability rules
     * Count Vulnerability Rules
     */
    countVulnerabilityRules(requestParameters: CountVulnerabilityRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Count across all the data associated with vulnerability scans
     * @summary Count Vulnerability Scan results
     * @param {SearchSearchScanReq} [searchSearchScanReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    countVulnerabilityScansRaw(requestParameters: CountVulnerabilityScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>>;

    /**
     * Count across all the data associated with vulnerability scans
     * Count Vulnerability Scan results
     */
    countVulnerabilityScans(requestParameters: CountVulnerabilityScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp>;

    /**
     * Get all applicable filter values for cloud compliance
     * @summary Get Cloud Compliance Filters
     * @param {ModelFiltersReq} [modelFiltersReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    getCloudComplianceFiltersRaw(requestParameters: GetCloudComplianceFiltersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ModelFiltersResult>>;

    /**
     * Get all applicable filter values for cloud compliance
     * Get Cloud Compliance Filters
     */
    getCloudComplianceFilters(requestParameters: GetCloudComplianceFiltersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ModelFiltersResult>;

    /**
     * Get all applicable filter values for compliance
     * @summary Get Compliance Filters
     * @param {ModelFiltersReq} [modelFiltersReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    getComplianceFiltersRaw(requestParameters: GetComplianceFiltersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ModelFiltersResult>>;

    /**
     * Get all applicable filter values for compliance
     * Get Compliance Filters
     */
    getComplianceFilters(requestParameters: GetComplianceFiltersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ModelFiltersResult>;

    /**
     * Search across all the data associated with cloud nodes
     * @summary Search Cloud Nodes
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchCloudAccountsRaw(requestParameters: SearchCloudAccountsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelCloudNodeAccountInfo>>>;

    /**
     * Search across all the data associated with cloud nodes
     * Search Cloud Nodes
     */
    searchCloudAccounts(requestParameters: SearchCloudAccountsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelCloudNodeAccountInfo>>;

    /**
     * Search across all the data associated with cloud-compliance scan
     * @summary Search Cloud Compliance Scan results
     * @param {SearchSearchScanReq} [searchSearchScanReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchCloudComplianceScansRaw(requestParameters: SearchCloudComplianceScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelScanInfo>>>;

    /**
     * Search across all the data associated with cloud-compliance scan
     * Search Cloud Compliance Scan results
     */
    searchCloudComplianceScans(requestParameters: SearchCloudComplianceScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelScanInfo>>;

    /**
     * Search across all the data associated with cloud-compliances
     * @summary Search Cloud compliances
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchCloudCompliancesRaw(requestParameters: SearchCloudCompliancesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelCloudCompliance>>>;

    /**
     * Search across all the data associated with cloud-compliances
     * Search Cloud compliances
     */
    searchCloudCompliances(requestParameters: SearchCloudCompliancesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelCloudCompliance>>;

    /**
     * Search across all data associated with CloudResources
     * @summary Search Cloud Resources
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchCloudResourcesRaw(requestParameters: SearchCloudResourcesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelCloudResource>>>;

    /**
     * Search across all data associated with CloudResources
     * Search Cloud Resources
     */
    searchCloudResources(requestParameters: SearchCloudResourcesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelCloudResource>>;

    /**
     * Search across all the data associated with compliance rules
     * @summary Search Compliance Rules
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchComplianceRulesRaw(requestParameters: SearchComplianceRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelComplianceRule>>>;

    /**
     * Search across all the data associated with compliance rules
     * Search Compliance Rules
     */
    searchComplianceRules(requestParameters: SearchComplianceRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelComplianceRule>>;

    /**
     * Search across all the data associated with compliance scan
     * @summary Search Compliance Scan results
     * @param {SearchSearchScanReq} [searchSearchScanReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchComplianceScansRaw(requestParameters: SearchComplianceScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelScanInfo>>>;

    /**
     * Search across all the data associated with compliance scan
     * Search Compliance Scan results
     */
    searchComplianceScans(requestParameters: SearchComplianceScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelScanInfo>>;

    /**
     * Search across all the data associated with compliances
     * @summary Search Compliances
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchCompliancesRaw(requestParameters: SearchCompliancesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelCompliance>>>;

    /**
     * Search across all the data associated with compliances
     * Search Compliances
     */
    searchCompliances(requestParameters: SearchCompliancesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelCompliance>>;

    /**
     * Search across all the data associated with container images
     * @summary Search Container images
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchContainerImagesRaw(requestParameters: SearchContainerImagesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelContainerImage>>>;

    /**
     * Search across all the data associated with container images
     * Search Container images
     */
    searchContainerImages(requestParameters: SearchContainerImagesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelContainerImage>>;

    /**
     * Search across all data associated with containers
     * @summary Search Containers data
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchContainersRaw(requestParameters: SearchContainersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelContainer>>>;

    /**
     * Search across all data associated with containers
     * Search Containers data
     */
    searchContainers(requestParameters: SearchContainersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelContainer>>;

    /**
     * Search across all data associated with hosts
     * @summary Search hosts
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchHostsRaw(requestParameters: SearchHostsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelHost>>>;

    /**
     * Search across all data associated with hosts
     * Search hosts
     */
    searchHosts(requestParameters: SearchHostsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelHost>>;

    /**
     * Search across all data associated with kuberentes clusters
     * @summary Search Kuberenetes Clusters
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchKubernetesClustersRaw(requestParameters: SearchKubernetesClustersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelKubernetesCluster>>>;

    /**
     * Search across all data associated with kuberentes clusters
     * Search Kuberenetes Clusters
     */
    searchKubernetesClusters(requestParameters: SearchKubernetesClustersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelKubernetesCluster>>;

    /**
     * Search across all the data associated with malware rules
     * @summary Search Malware Rules
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchMalwareRulesRaw(requestParameters: SearchMalwareRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelMalwareRule>>>;

    /**
     * Search across all the data associated with malware rules
     * Search Malware Rules
     */
    searchMalwareRules(requestParameters: SearchMalwareRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelMalwareRule>>;

    /**
     * Search across all the data associated with malwares scan
     * @summary Search Malware Scan results
     * @param {SearchSearchScanReq} [searchSearchScanReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchMalwareScansRaw(requestParameters: SearchMalwareScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelScanInfo>>>;

    /**
     * Search across all the data associated with malwares scan
     * Search Malware Scan results
     */
    searchMalwareScans(requestParameters: SearchMalwareScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelScanInfo>>;

    /**
     * Search across all the data associated with malwares
     * @summary Search Malwares
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchMalwaresRaw(requestParameters: SearchMalwaresRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelMalware>>>;

    /**
     * Search across all the data associated with malwares
     * Search Malwares
     */
    searchMalwares(requestParameters: SearchMalwaresRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelMalware>>;

    /**
     * Search across all the data associated with pods
     * @summary Search Pods
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchPodsRaw(requestParameters: SearchPodsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelPod>>>;

    /**
     * Search across all the data associated with pods
     * Search Pods
     */
    searchPods(requestParameters: SearchPodsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelPod>>;

    /**
     * Search across all the data associated with registry account
     * @summary Search Registry Accounts
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchRegistryAccountsRaw(requestParameters: SearchRegistryAccountsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelRegistryAccount>>>;

    /**
     * Search across all the data associated with registry account
     * Search Registry Accounts
     */
    searchRegistryAccounts(requestParameters: SearchRegistryAccountsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelRegistryAccount>>;

    /**
     * Search across all the data associated with secret rules
     * @summary Search Secret Rules
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchSecretRulesRaw(requestParameters: SearchSecretRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelSecretRule>>>;

    /**
     * Search across all the data associated with secret rules
     * Search Secret Rules
     */
    searchSecretRules(requestParameters: SearchSecretRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelSecretRule>>;

    /**
     * Search across all the data associated with secrets
     * @summary Search Secrets
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchSecretsRaw(requestParameters: SearchSecretsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelSecret>>>;

    /**
     * Search across all the data associated with secrets
     * Search Secrets
     */
    searchSecrets(requestParameters: SearchSecretsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelSecret>>;

    /**
     * Search across all the data associated with secrets scan
     * @summary Search Secrets Scan results
     * @param {SearchSearchScanReq} [searchSearchScanReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchSecretsScansRaw(requestParameters: SearchSecretsScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelScanInfo>>>;

    /**
     * Search across all the data associated with secrets scan
     * Search Secrets Scan results
     */
    searchSecretsScans(requestParameters: SearchSecretsScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelScanInfo>>;

    /**
     * Search across all the data associated with vulnerabilities
     * @summary Search Vulnerabilities
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchVulnerabilitiesRaw(requestParameters: SearchVulnerabilitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelVulnerability>>>;

    /**
     * Search across all the data associated with vulnerabilities
     * Search Vulnerabilities
     */
    searchVulnerabilities(requestParameters: SearchVulnerabilitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelVulnerability>>;

    /**
     * Search across all the data associated with vulnerability rules
     * @summary Search Vulnerability Rules
     * @param {SearchSearchNodeReq} [searchSearchNodeReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchVulnerabilityRulesRaw(requestParameters: SearchVulnerabilityRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelVulnerabilityRule>>>;

    /**
     * Search across all the data associated with vulnerability rules
     * Search Vulnerability Rules
     */
    searchVulnerabilityRules(requestParameters: SearchVulnerabilityRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelVulnerabilityRule>>;

    /**
     * Search across all the data associated with vulnerability scan
     * @summary Search Vulnerability Scan results
     * @param {SearchSearchScanReq} [searchSearchScanReq] 
     * @param {*} [options] Override http request option.
     * @throws {RequiredError}
     * @memberof SearchApiInterface
     */
    searchVulnerabilityScansRaw(requestParameters: SearchVulnerabilityScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelScanInfo>>>;

    /**
     * Search across all the data associated with vulnerability scan
     * Search Vulnerability Scan results
     */
    searchVulnerabilityScans(requestParameters: SearchVulnerabilityScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelScanInfo>>;

}

/**
 * 
 */
export class SearchApi extends runtime.BaseAPI implements SearchApiInterface {

    /**
     * Search across all the data associated with cloud nodes
     * Count Cloud Nodes
     */
    async countCloudAccountsRaw(requestParameters: CountCloudAccountsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/cloud-accounts`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Search across all the data associated with cloud nodes
     * Count Cloud Nodes
     */
    async countCloudAccounts(requestParameters: CountCloudAccountsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countCloudAccountsRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Count across all the data associated with cloud-compliance scans
     * Count Cloud Compliance Scan results
     */
    async countCloudComplianceScansRaw(requestParameters: CountCloudComplianceScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/cloud-compliance/scans`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchScanReqToJSON(requestParameters.searchSearchScanReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Count across all the data associated with cloud-compliance scans
     * Count Cloud Compliance Scan results
     */
    async countCloudComplianceScans(requestParameters: CountCloudComplianceScansRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countCloudComplianceScansRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Count across all the data ssociated with cloud compliances
     * Count Cloud compliances
     */
    async countCloudCompliancesRaw(requestParameters: CountCloudCompliancesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/cloud-compliances`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Count across all the data ssociated with cloud compliances
     * Count Cloud compliances
     */
    async countCloudCompliances(requestParameters: CountCloudCompliancesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countCloudCompliancesRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Count across all the data ssociated with cloud resources
     * Count Cloud resources
     */
    async countCloudResourcesRaw(requestParameters: CountCloudResourcesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/cloud-resources`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Count across all the data ssociated with cloud resources
     * Count Cloud resources
     */
    async countCloudResources(requestParameters: CountCloudResourcesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countCloudResourcesRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Count across all the data associated with compliance rules
     * Count Compliance Rules
     */
    async countComplianceRulesRaw(requestParameters: CountComplianceRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/compliance-rules`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Count across all the data associated with compliance rules
     * Count Compliance Rules
     */
    async countComplianceRules(requestParameters: CountComplianceRulesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countComplianceRulesRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Count across all the data associated with compliance scans
     * Count Compliance Scan results
     */
    async countComplianceScansRaw(requestParameters: CountComplianceScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/compliance/scans`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchScanReqToJSON(requestParameters.searchSearchScanReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Count across all the data associated with compliance scans
     * Count Compliance Scan results
     */
    async countComplianceScans(requestParameters: CountComplianceScansRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countComplianceScansRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Count across all the data associated with compliances
     * Count Compliances
     */
    async countCompliancesRaw(requestParameters: CountCompliancesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/compliances`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Count across all the data associated with compliances
     * Count Compliances
     */
    async countCompliances(requestParameters: CountCompliancesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countCompliancesRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Count across all the data associated with container images
     * Count Container images
     */
    async countContainerImagesRaw(requestParameters: CountContainerImagesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/images`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Count across all the data associated with container images
     * Count Container images
     */
    async countContainerImages(requestParameters: CountContainerImagesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countContainerImagesRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Count across all the data associated with containers
     * Count Containers data
     */
    async countContainersRaw(requestParameters: CountContainersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/containers`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Count across all the data associated with containers
     * Count Containers data
     */
    async countContainers(requestParameters: CountContainersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countContainersRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Count across all the data associated with hosts
     * Count hosts
     */
    async countHostsRaw(requestParameters: CountHostsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/hosts`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Count across all the data associated with hosts
     * Count hosts
     */
    async countHosts(requestParameters: CountHostsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countHostsRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Count across all the data ssociated with kubernetes clusters
     * Count Kubernetes clusters
     */
    async countKubernetesClustersRaw(requestParameters: CountKubernetesClustersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/kubernetes-clusters`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Count across all the data ssociated with kubernetes clusters
     * Count Kubernetes clusters
     */
    async countKubernetesClusters(requestParameters: CountKubernetesClustersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countKubernetesClustersRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Count across all the data associated with malware rules
     * Count Malware Rules
     */
    async countMalwareRulesRaw(requestParameters: CountMalwareRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/malware-rules`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Count across all the data associated with malware rules
     * Count Malware Rules
     */
    async countMalwareRules(requestParameters: CountMalwareRulesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countMalwareRulesRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Count across all the data associated with malware scans
     * Count Malware Scan results
     */
    async countMalwareScansRaw(requestParameters: CountMalwareScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/malware/scans`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchScanReqToJSON(requestParameters.searchSearchScanReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Count across all the data associated with malware scans
     * Count Malware Scan results
     */
    async countMalwareScans(requestParameters: CountMalwareScansRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countMalwareScansRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Count across all the data associated with malwares
     * Count Malwares
     */
    async countMalwaresRaw(requestParameters: CountMalwaresRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/malwares`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Count across all the data associated with malwares
     * Count Malwares
     */
    async countMalwares(requestParameters: CountMalwaresRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countMalwaresRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Count hosts, containers, pods, k8s clusters, images
     * Count nodes
     */
    async countNodesRaw(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchNodeCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/nodes`,
            method: 'GET',
            headers: headerParameters,
            query: queryParameters,
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchNodeCountRespFromJSON(jsonValue));
    }

    /**
     * Count hosts, containers, pods, k8s clusters, images
     * Count nodes
     */
    async countNodes(initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchNodeCountResp> {
        const response = await this.countNodesRaw(initOverrides);
        return await response.value();
    }

    /**
     * Count across all the data associated with pods
     * Count Pods
     */
    async countPodsRaw(requestParameters: CountPodsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/pods`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Count across all the data associated with pods
     * Count Pods
     */
    async countPods(requestParameters: CountPodsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countPodsRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with registry account
     * Count Registry Accounts
     */
    async countRegistryAccountsRaw(requestParameters: CountRegistryAccountsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/registry-accounts`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Search across all the data associated with registry account
     * Count Registry Accounts
     */
    async countRegistryAccounts(requestParameters: CountRegistryAccountsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countRegistryAccountsRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Count across all the data associated with secret rules
     * Count Secret Rules
     */
    async countSecretRulesRaw(requestParameters: CountSecretRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/secret-rules`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Count across all the data associated with secret rules
     * Count Secret Rules
     */
    async countSecretRules(requestParameters: CountSecretRulesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countSecretRulesRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Count across all the data associated with secrets
     * Count Secrets
     */
    async countSecretsRaw(requestParameters: CountSecretsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/secrets`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Count across all the data associated with secrets
     * Count Secrets
     */
    async countSecrets(requestParameters: CountSecretsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countSecretsRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Count across all the data associated with secret scans
     * Count Secret Scan results
     */
    async countSecretsScansRaw(requestParameters: CountSecretsScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/secret/scans`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchScanReqToJSON(requestParameters.searchSearchScanReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Count across all the data associated with secret scans
     * Count Secret Scan results
     */
    async countSecretsScans(requestParameters: CountSecretsScansRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countSecretsScansRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with vulnerabilities
     * Count Vulnerabilities
     */
    async countVulnerabilitiesRaw(requestParameters: CountVulnerabilitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/vulnerabilities`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Search across all the data associated with vulnerabilities
     * Count Vulnerabilities
     */
    async countVulnerabilities(requestParameters: CountVulnerabilitiesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countVulnerabilitiesRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Count across all the data associated with vulnerability rules
     * Count Vulnerability Rules
     */
    async countVulnerabilityRulesRaw(requestParameters: CountVulnerabilityRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/vulnerability-rules`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Count across all the data associated with vulnerability rules
     * Count Vulnerability Rules
     */
    async countVulnerabilityRules(requestParameters: CountVulnerabilityRulesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countVulnerabilityRulesRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Count across all the data associated with vulnerability scans
     * Count Vulnerability Scan results
     */
    async countVulnerabilityScansRaw(requestParameters: CountVulnerabilityScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SearchSearchCountResp>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/count/vulnerability/scans`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchScanReqToJSON(requestParameters.searchSearchScanReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => SearchSearchCountRespFromJSON(jsonValue));
    }

    /**
     * Count across all the data associated with vulnerability scans
     * Count Vulnerability Scan results
     */
    async countVulnerabilityScans(requestParameters: CountVulnerabilityScansRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SearchSearchCountResp> {
        const response = await this.countVulnerabilityScansRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Get all applicable filter values for cloud compliance
     * Get Cloud Compliance Filters
     */
    async getCloudComplianceFiltersRaw(requestParameters: GetCloudComplianceFiltersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ModelFiltersResult>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/filters/cloud-compliance`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: ModelFiltersReqToJSON(requestParameters.modelFiltersReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => ModelFiltersResultFromJSON(jsonValue));
    }

    /**
     * Get all applicable filter values for cloud compliance
     * Get Cloud Compliance Filters
     */
    async getCloudComplianceFilters(requestParameters: GetCloudComplianceFiltersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ModelFiltersResult> {
        const response = await this.getCloudComplianceFiltersRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Get all applicable filter values for compliance
     * Get Compliance Filters
     */
    async getComplianceFiltersRaw(requestParameters: GetComplianceFiltersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<ModelFiltersResult>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/filters/compliance`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: ModelFiltersReqToJSON(requestParameters.modelFiltersReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => ModelFiltersResultFromJSON(jsonValue));
    }

    /**
     * Get all applicable filter values for compliance
     * Get Compliance Filters
     */
    async getComplianceFilters(requestParameters: GetComplianceFiltersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<ModelFiltersResult> {
        const response = await this.getComplianceFiltersRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with cloud nodes
     * Search Cloud Nodes
     */
    async searchCloudAccountsRaw(requestParameters: SearchCloudAccountsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelCloudNodeAccountInfo>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/cloud-accounts`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelCloudNodeAccountInfoFromJSON));
    }

    /**
     * Search across all the data associated with cloud nodes
     * Search Cloud Nodes
     */
    async searchCloudAccounts(requestParameters: SearchCloudAccountsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelCloudNodeAccountInfo>> {
        const response = await this.searchCloudAccountsRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with cloud-compliance scan
     * Search Cloud Compliance Scan results
     */
    async searchCloudComplianceScansRaw(requestParameters: SearchCloudComplianceScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelScanInfo>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/cloud-compliance/scans`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchScanReqToJSON(requestParameters.searchSearchScanReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelScanInfoFromJSON));
    }

    /**
     * Search across all the data associated with cloud-compliance scan
     * Search Cloud Compliance Scan results
     */
    async searchCloudComplianceScans(requestParameters: SearchCloudComplianceScansRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelScanInfo>> {
        const response = await this.searchCloudComplianceScansRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with cloud-compliances
     * Search Cloud compliances
     */
    async searchCloudCompliancesRaw(requestParameters: SearchCloudCompliancesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelCloudCompliance>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/cloud-compliances`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelCloudComplianceFromJSON));
    }

    /**
     * Search across all the data associated with cloud-compliances
     * Search Cloud compliances
     */
    async searchCloudCompliances(requestParameters: SearchCloudCompliancesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelCloudCompliance>> {
        const response = await this.searchCloudCompliancesRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all data associated with CloudResources
     * Search Cloud Resources
     */
    async searchCloudResourcesRaw(requestParameters: SearchCloudResourcesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelCloudResource>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/cloud-resources`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelCloudResourceFromJSON));
    }

    /**
     * Search across all data associated with CloudResources
     * Search Cloud Resources
     */
    async searchCloudResources(requestParameters: SearchCloudResourcesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelCloudResource>> {
        const response = await this.searchCloudResourcesRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with compliance rules
     * Search Compliance Rules
     */
    async searchComplianceRulesRaw(requestParameters: SearchComplianceRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelComplianceRule>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/compliance-rules`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelComplianceRuleFromJSON));
    }

    /**
     * Search across all the data associated with compliance rules
     * Search Compliance Rules
     */
    async searchComplianceRules(requestParameters: SearchComplianceRulesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelComplianceRule>> {
        const response = await this.searchComplianceRulesRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with compliance scan
     * Search Compliance Scan results
     */
    async searchComplianceScansRaw(requestParameters: SearchComplianceScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelScanInfo>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/compliance/scans`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchScanReqToJSON(requestParameters.searchSearchScanReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelScanInfoFromJSON));
    }

    /**
     * Search across all the data associated with compliance scan
     * Search Compliance Scan results
     */
    async searchComplianceScans(requestParameters: SearchComplianceScansRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelScanInfo>> {
        const response = await this.searchComplianceScansRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with compliances
     * Search Compliances
     */
    async searchCompliancesRaw(requestParameters: SearchCompliancesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelCompliance>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/compliances`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelComplianceFromJSON));
    }

    /**
     * Search across all the data associated with compliances
     * Search Compliances
     */
    async searchCompliances(requestParameters: SearchCompliancesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelCompliance>> {
        const response = await this.searchCompliancesRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with container images
     * Search Container images
     */
    async searchContainerImagesRaw(requestParameters: SearchContainerImagesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelContainerImage>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/images`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelContainerImageFromJSON));
    }

    /**
     * Search across all the data associated with container images
     * Search Container images
     */
    async searchContainerImages(requestParameters: SearchContainerImagesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelContainerImage>> {
        const response = await this.searchContainerImagesRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all data associated with containers
     * Search Containers data
     */
    async searchContainersRaw(requestParameters: SearchContainersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelContainer>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/containers`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelContainerFromJSON));
    }

    /**
     * Search across all data associated with containers
     * Search Containers data
     */
    async searchContainers(requestParameters: SearchContainersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelContainer>> {
        const response = await this.searchContainersRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all data associated with hosts
     * Search hosts
     */
    async searchHostsRaw(requestParameters: SearchHostsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelHost>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/hosts`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelHostFromJSON));
    }

    /**
     * Search across all data associated with hosts
     * Search hosts
     */
    async searchHosts(requestParameters: SearchHostsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelHost>> {
        const response = await this.searchHostsRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all data associated with kuberentes clusters
     * Search Kuberenetes Clusters
     */
    async searchKubernetesClustersRaw(requestParameters: SearchKubernetesClustersRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelKubernetesCluster>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/kubernetes-clusters`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelKubernetesClusterFromJSON));
    }

    /**
     * Search across all data associated with kuberentes clusters
     * Search Kuberenetes Clusters
     */
    async searchKubernetesClusters(requestParameters: SearchKubernetesClustersRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelKubernetesCluster>> {
        const response = await this.searchKubernetesClustersRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with malware rules
     * Search Malware Rules
     */
    async searchMalwareRulesRaw(requestParameters: SearchMalwareRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelMalwareRule>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/malware-rules`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelMalwareRuleFromJSON));
    }

    /**
     * Search across all the data associated with malware rules
     * Search Malware Rules
     */
    async searchMalwareRules(requestParameters: SearchMalwareRulesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelMalwareRule>> {
        const response = await this.searchMalwareRulesRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with malwares scan
     * Search Malware Scan results
     */
    async searchMalwareScansRaw(requestParameters: SearchMalwareScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelScanInfo>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/malware/scans`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchScanReqToJSON(requestParameters.searchSearchScanReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelScanInfoFromJSON));
    }

    /**
     * Search across all the data associated with malwares scan
     * Search Malware Scan results
     */
    async searchMalwareScans(requestParameters: SearchMalwareScansRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelScanInfo>> {
        const response = await this.searchMalwareScansRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with malwares
     * Search Malwares
     */
    async searchMalwaresRaw(requestParameters: SearchMalwaresRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelMalware>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/malwares`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelMalwareFromJSON));
    }

    /**
     * Search across all the data associated with malwares
     * Search Malwares
     */
    async searchMalwares(requestParameters: SearchMalwaresRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelMalware>> {
        const response = await this.searchMalwaresRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with pods
     * Search Pods
     */
    async searchPodsRaw(requestParameters: SearchPodsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelPod>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/pods`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelPodFromJSON));
    }

    /**
     * Search across all the data associated with pods
     * Search Pods
     */
    async searchPods(requestParameters: SearchPodsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelPod>> {
        const response = await this.searchPodsRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with registry account
     * Search Registry Accounts
     */
    async searchRegistryAccountsRaw(requestParameters: SearchRegistryAccountsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelRegistryAccount>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/registry-accounts`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelRegistryAccountFromJSON));
    }

    /**
     * Search across all the data associated with registry account
     * Search Registry Accounts
     */
    async searchRegistryAccounts(requestParameters: SearchRegistryAccountsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelRegistryAccount>> {
        const response = await this.searchRegistryAccountsRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with secret rules
     * Search Secret Rules
     */
    async searchSecretRulesRaw(requestParameters: SearchSecretRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelSecretRule>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/secret-rules`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelSecretRuleFromJSON));
    }

    /**
     * Search across all the data associated with secret rules
     * Search Secret Rules
     */
    async searchSecretRules(requestParameters: SearchSecretRulesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelSecretRule>> {
        const response = await this.searchSecretRulesRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with secrets
     * Search Secrets
     */
    async searchSecretsRaw(requestParameters: SearchSecretsRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelSecret>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/secrets`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelSecretFromJSON));
    }

    /**
     * Search across all the data associated with secrets
     * Search Secrets
     */
    async searchSecrets(requestParameters: SearchSecretsRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelSecret>> {
        const response = await this.searchSecretsRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with secrets scan
     * Search Secrets Scan results
     */
    async searchSecretsScansRaw(requestParameters: SearchSecretsScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelScanInfo>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/secret/scans`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchScanReqToJSON(requestParameters.searchSearchScanReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelScanInfoFromJSON));
    }

    /**
     * Search across all the data associated with secrets scan
     * Search Secrets Scan results
     */
    async searchSecretsScans(requestParameters: SearchSecretsScansRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelScanInfo>> {
        const response = await this.searchSecretsScansRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with vulnerabilities
     * Search Vulnerabilities
     */
    async searchVulnerabilitiesRaw(requestParameters: SearchVulnerabilitiesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelVulnerability>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/vulnerabilities`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelVulnerabilityFromJSON));
    }

    /**
     * Search across all the data associated with vulnerabilities
     * Search Vulnerabilities
     */
    async searchVulnerabilities(requestParameters: SearchVulnerabilitiesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelVulnerability>> {
        const response = await this.searchVulnerabilitiesRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with vulnerability rules
     * Search Vulnerability Rules
     */
    async searchVulnerabilityRulesRaw(requestParameters: SearchVulnerabilityRulesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelVulnerabilityRule>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/vulnerability-rules`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchNodeReqToJSON(requestParameters.searchSearchNodeReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelVulnerabilityRuleFromJSON));
    }

    /**
     * Search across all the data associated with vulnerability rules
     * Search Vulnerability Rules
     */
    async searchVulnerabilityRules(requestParameters: SearchVulnerabilityRulesRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelVulnerabilityRule>> {
        const response = await this.searchVulnerabilityRulesRaw(requestParameters, initOverrides);
        return await response.value();
    }

    /**
     * Search across all the data associated with vulnerability scan
     * Search Vulnerability Scan results
     */
    async searchVulnerabilityScansRaw(requestParameters: SearchVulnerabilityScansRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<Array<ModelScanInfo>>> {
        const queryParameters: any = {};

        const headerParameters: runtime.HTTPHeaders = {};

        headerParameters['Content-Type'] = 'application/json';

        if (this.configuration && this.configuration.accessToken) {
            const token = this.configuration.accessToken;
            const tokenString = await token("bearer_token", []);

            if (tokenString) {
                headerParameters["Authorization"] = `Bearer ${tokenString}`;
            }
        }
        const response = await this.request({
            path: `/deepfence/search/vulnerability/scans`,
            method: 'POST',
            headers: headerParameters,
            query: queryParameters,
            body: SearchSearchScanReqToJSON(requestParameters.searchSearchScanReq),
        }, initOverrides);

        return new runtime.JSONApiResponse(response, (jsonValue) => jsonValue.map(ModelScanInfoFromJSON));
    }

    /**
     * Search across all the data associated with vulnerability scan
     * Search Vulnerability Scan results
     */
    async searchVulnerabilityScans(requestParameters: SearchVulnerabilityScansRequest = {}, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<Array<ModelScanInfo>> {
        const response = await this.searchVulnerabilityScansRaw(requestParameters, initOverrides);
        return await response.value();
    }

}
